﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using QRCoder;
using System.Drawing;

namespace QRCodeCreator
{
    public class QRCodeHelper
    {
        //public Bitmap GetGraphic(int pixelsPerModule, Color darkColor, Color lightColor, Bitmap icon = null, int iconSizePercent = 15, int iconBorderWidth = 6, bool drawQuietZones = true)
              
        //         int pixelsPerModule://生成二维码图片的像素大小 ，我这里设置的是5
             
        //         Color darkColor：//暗色 一般设置为Color.Black 黑色
             
        //         Color lightColor://亮色 一般设置为Color.White 白色
              
        //        Bitmap icon :二维码 水印图标 例如：Bitmap icon = new Bitmap(context.Server.MapPath("~/images/zs.png")); 默认为NULL ，加上这个二维码中间会显示一个图标
             
        //        int iconSizePercent： 水印图标的大小比例 ，可根据自己的喜好设置
             
        //         int iconBorderWidth： 水印图标的边框
             
        //         bool drawQuietZones:静止区，位于二维码某一边的空白边界,用来阻止读者获取与正在浏览的二维码无关的信息 即是否绘画二维码的空白边框区域 默认为true

        public static Bitmap Create(string content,int pixels_per_module,Color front_color,Color back_color,Bitmap icon=null,int icon_size_percent=15,int icon_border_width=6,bool draw_quiet_zones=true, QRCodeGenerator.ECCLevel level=QRCodeGenerator.ECCLevel.L)
        {
            QRCodeGenerator qrGenerator = new QRCoder.QRCodeGenerator();            
            QRCodeData qrCodeData = qrGenerator.CreateQrCode(content, level);            
            QRCode qrcode = new QRCode(qrCodeData);           
            Bitmap qrimg = qrcode.GetGraphic(pixels_per_module, front_color, back_color, icon, icon_size_percent, icon_border_width, draw_quiet_zones);
            return qrimg;

        }

    }
}
